1. Field of the Invention
The present invention generally relates to computer-aided design apparatuses and layout display methods, and particularly relates to a layout editor apparatus and a routing display method.
2. Description of the Related Art
In the LSI designing of recent years, due to an increase in the circuit density of semiconductor integrated circuits, it has become indispensable to modify the logical design and physical design at the stage of layout design for the purpose of correcting circuit characteristics such as timing error and crosstalk. In so doing, a placement-&-routing tool that takes into account the effects of timing and crosstalk may automatically correct the circuit characteristics successfully in some cases, but, in other cases, the use of a layout editor may become necessary to perform manual correction.
In order to ensure the successful removal of errors, an effect spreading from the corrected portion to other portions should be kept to a minimum. While taking into account these factors, the layout designer needs to resize certain cells by use of a layout editor after detailed routing, or to insert one-input-&-one-output cell (a true buffer or two inverter buffers) near an interconnection path and remove a portion of the interconnection for the purpose of reconnection.
When a true buffer is to be inserted, for example, the layout designer works according to the procedure as follows. (1) It is determined into which net the buffer is to be inserted. (2) It is determined into which portion (logical position) on the netlist the buffer is to be inserted. (3) It is determined into which location (physical position) in the layout the buffer is to be inserted. (4) The characteristics of the buffer to be inserted are determined (selected). (5) The design is changed to reflect the modification (i.e., the logic is changed, and the inserted buffer is placed). (6) The net to be connected to the inserted buffer is routed, thereby removing the routing error.
Tasks required for each of the above-described steps are as follows. As shown in FIG. 1, for example, the layout of a net having a path 14 inclusive of line segments 10, 11, 12, and 13 and causing a setup error is displayed on screen by use of a layout editor. In item (1) of the above-described procedure, the layout designer ascertains that the delay of the line segment 12 on the path 14 is too large, and uses the layout editor to display the net inclusive of this portion on screen as shown in FIG. 2. In FIG. 2, a net 15 illustrated as a series of solid connected lines is the net into which the buffer is to be inserted.
In item (2) of the procedure, then, the layout designer examines the logical structure (the structure of logical connections between cells) by looking at the layout displayed on screen as shown in FIG. 2, thereby determining the logical position into which the buffer is to be inserted. For example, the position corresponding to a net portion 16 may be selected as the buffer insertion position. At this time, the layout designer needs to determine to which pins of which buffers the inserted buffer is to be connected.
In item (3) of the procedure, the physical position (two dimensional coordinates in the displayed layout) at which the buffer is to be actually placed is determined in order to insert the buffer into the net portion 16 in the layout displayed on screen as shown in FIG. 2. At this time, it is required that there is sufficient space for the buffer to be inserted and for routing to be performed at and around the insertion point, so that the layout designer needs to acquire relevant information from the layout editor. Further, the layout designer needs to remember the coordinates of the insertion point for item (5) of the procedure.
In item (4) of the procedure, the characteristics of the buffer to be inserted are determined (selected). When this selected buffer is inserted into the insertion point, such insertion should result in the timing error being reduced. However, the selection of the characteristics of the buffer to be inserted is solely relied on the experience of the layout designer.
In item (5) of the procedure, a buffer 17 is placed as shown in the left-hand side of FIG. 3 in the layout displayed on screen as shown in FIG. 2. In item (6) of the procedure, an existing interconnection is cut off around the insertion point as shown in the center of FIG. 3 in the layout displayed on screen as shown in FIG. 2, thereby removing an unnecessary portion 18. Thereafter, as shown in the right-hand side of FIG. 3, a new net 19 is routed manually by substantially copying the removed portion. Further, there is a need to fix the portion leading from the cut-off point to the pins and the portion omitted in the manual routing by use of a routing tool.
The method of modifying the logical design and physical design according to the procedure as described above has problems as follows. Since there is a need to examine (contemplate) the logical structure of a net and the like by visually examining the layout displayed on screen as shown in FIG. 2, it is difficult to grasp the logical connections of the net, which results in a lengthy time being required to decide the strategy for design modification. That is, with the display of a net by use of a layout editor, it is difficult to instantly grasp the outline of interconnections, so that a lengthy time is required to determine a specific strategy.
Moreover, there is another problem in that it takes time to determine the position into which a cell is to be inserted. Namely, there are needs to find available space for cell insertion through visual inspection and to acquire legitimate coordinates complying with the layout rules at the time of specifying the placement coordinates. Such tasks require labor and time.
Further, there is no measure to indicate the appropriateness/inappropriateness of each combination of the type of an inserted cell and the position of insertion, so that it is necessary to perform the whole procedure again upon failure. That is, no means is provided to estimate whether a further error is to be generated by a suggested combination of the characteristics (drive power, load capacitance, and so on) of the cell to be inserted, the distances from the preceding cell and to the following cell, and the characteristics of these cells.
Moreover, even when the characteristics of the cell to be inserted and the coordinates of the insertion are determined, there is a need to manually generate commands for modifying the logical design data and physical design data such as to reflect the cell insertion. That is, the tools for aiding the tasks to generate these commands are not incorporated in the layout editor. Accordingly, a lengthy time is necessary to generate a cell insertion command, which may serve as a factor to create error.
Further, there is a problem in that the tool to recycle an original interconnection for a newly added net is not incorporated in the layout editor. This necessitates the manual reconstruction of interconnects, which requires labor and time.
Accordingly, there is a need for a routing display method and layout editor apparatus that can display layout-related information necessary for the modification task performed for the purpose of removing an error in such a display format that the logical connection and structure of the net can be easily understood.